package com.lxm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lxm.dto.ItemDTO;
import com.lxm.dto.Result;
import com.lxm.entity.Item;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 * 商品表 服务类
 * </p>
 *
 * @author ${author}
 * @since 2024-10-02
 */
public interface ItemService extends IService<Item> {

    Result getItemTypeList();

    Result getMyItemList(Integer current);

    Result addItem(ItemDTO itemInfo);

    @Transactional
    Result modifyItem(ItemDTO itemInfo,Long itemId);

    @Transactional
    Result removeItems(List<Long> itemIds);


    /**
     * 检查商品库存是否足够，加入购物车需要校验
     *
     * @param itemId    商品id
     * @param itemCount 需要被购买的商品数量
     * @return boolean  true表示库存足够，false表示库存不足
     */
    boolean checkItemNumEnough(Long itemId, Integer itemCount);

    Result listItemByTime(Integer current);

    Result getItemDetail(Long itemId);

    Result getItemListByType(Long typeId, Integer current);
}
